package com.xiaoshuidi.cloud.module.rooms.service;


import com.xiaoshuidi.cloud.framework.common.pojo.CommonResult;
import com.xiaoshuidi.cloud.framework.common.pojo.PageResult;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.roomel.vo.*;
import com.xiaoshuidi.cloud.module.rooms.pojo.roomel.RoomelEntity;
import org.zxp.esclientrhl.repository.PageList;

import java.util.List;
import java.util.Map;

/**
 *
 * @Author: lss
 * @CreateTime: 2023-03-15 12:42
 * @Version: 1.0
 */
public interface IRoomelService{

    Boolean listadd(List<RoomelCreateReqVO> roomelCreateReqVOList);

    Boolean deleteByesid(String id);

    Boolean updateCover(RoomelUpdateReqVO roomelUpdateReqVO);

    Boolean updateCoverBatch(List<RoomelUpdateReqVO> reqVOList);

    List<RoomelEntity> getRoomelList(Long [] ids, Long tenantId);

    CommonResult<PageResult<RoomelQueryResp>> queryPage(RoomelQueryReqVO reqVO, Long tenantId);

    Map<String,Object> queryHouseStateSum(Long roomAreaId, Long apartmentAreaId,String apartmentAreaName,Long apartmentId ,String buildingNo ,Integer floorNo ,Long roomHouseTypeId,
                                          Long layoutId,String houseState,String searchbox,String roomUsage, Boolean qflag, Long tenantId);

    List<QueryBuildingNoRespVO> queryBuildingNoSum(Long roomAreaId, Long apartmentAreaId,String apartmentAreaName, Long apartmentId , String buildingNo , Integer floorNo , Long roomHouseTypeId,
                                                   Long layoutId, String houseState, String searchbox, Boolean qflag, Long tenantId, Integer pageNum, Integer pageSize);

    List<QueryFloorTabRespVO> queryFloorTab(Long roomAreaId, Long apartmentAreaId,String apartmentAreaName,Long apartmentId ,String buildingNo , String unitNo, Integer floorNo ,Long roomHouseTypeId,
                                     Long layoutId,String houseState,String searchbox,Boolean qflag, Long tenantId, Integer pageNum, Integer pageSize);

    List<QueryFxTabRespVO> queryFxTab(Long roomAreaId, Long apartmentAreaId,String apartmentAreaName,Long apartmentId ,String buildingNo ,Integer floorNo ,Long roomHouseTypeId,
                    Long layoutId,String houseState,String searchbox,Boolean qflag, Long tenantId, Integer pageNum, Integer pageSize);

    List<QueryHxTabRespVO> queryHxTab(Long roomAreaId, Long apartmentAreaId,String apartmentAreaName,Long apartmentId ,String buildingNo ,Integer floorNo ,Long roomHouseTypeId,
                    Long layoutId,String houseState,String searchbox,Boolean qflag, Long tenantId, Integer pageNum, Integer pageSize);

    /**
     *  动态选项卡-小区查询
     **/
    List<QueryXqTabRespVO> queryXqTab(Long roomAreaId, Long apartmentAreaId,String apartmentAreaName, Long apartmentId , String buildingNo , Integer floorNo , Long roomHouseTypeId,
                                      Long layoutId, String houseState, String searchbox, Boolean qflag, Long tenantId, Integer pageNum, Integer pageSize);


    RoomelEntity queryById(Long id, Long tenantId);

    /**
     * 动态选项卡-单元
     */
    List<QueryUnitNoRespVO> queryUnitNoSum(Long roomAreaId, Long apartmentAreaId,String apartmentAreaName, Long apartmentId, String buildingNo, String unitNo, Integer floorNo, Long roomHouseTypeId, Long layoutId, String houseState, String searchbox, Boolean qflag, Long tenantId, Integer pageNum, Integer pageSize);

}
